package cn.stylefeng.guns.modular.business.staff.service.impl;

import cn.stylefeng.guns.modular.business.staff.entity.Staff;
import cn.stylefeng.guns.modular.business.staff.mapper.StaffMapper;
import cn.stylefeng.guns.modular.business.staff.pojo.request.StaffAddBo;
import cn.stylefeng.guns.modular.business.staff.service.StaffService;
import cn.stylefeng.roses.kernel.rule.pojo.response.ErrorResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;

/**
 * ━━━━━━Feri出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　 ┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　  ┃
 * 　　┃　　　　　　 ┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃    邢哥的代码，怎么会，有bug呢，不可能！
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━永无BUG!━━━━━━
 *
 * @Description:
 * @Author：邢朋辉
 * @Date: 2023/3/31 10:00
 */
@Service
public class StaffServiceImpl implements StaffService {
    @Resource
    private StaffMapper mapper;

    @Override
    public ResponseData add(StaffAddBo bo) {
        Staff staff=new Staff();
        BeanUtils.copyProperties(bo,staff);
        staff.setCtime(new Date());
        if(mapper.insert(staff)>0){
            return new SuccessResponseData();
        }else {
            return new ErrorResponseData("10000","亲，新增员工失败！");
        }
    }

    @Override
    public ResponseData update(Staff staff) {
        if(mapper.updateById(staff)>0){
            return new SuccessResponseData();
        }else {
            return new ErrorResponseData("10000","亲，修改员工失败！");
        }
    }

    @Override
    public ResponseData del(int id) {
        if(mapper.deleteById(id)>0){
            return new SuccessResponseData();
        }else {
            return new ErrorResponseData("10000","亲，删除员工失败！");
        }
    }

    @Override
    public ResponseData all() {
        return new SuccessResponseData(mapper.selectList(null));
    }
}
